package step1;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * step1 
 * 서버가 실행되면 클라이언트가 접속할 때까지 
 * 대기하다가 (accept()) 접속하면 accept() 실행되어
 * 일반소켓에서 데이터를 클라이언트로 전송하는 
 * 프로그램 
 * @author kosta-00-kangsa-001
 *
 */
public class TestServer {
	private int count;
	public void go() throws IOException{
		//port 는 임의로 5432 로 할당한다.
		ServerSocket ss=new ServerSocket(5432);
		System.out.println("**step1 Server 실행 중**");
		while(true){
			//대기하다가 client 접속하면 일반소켓을 반환한다. 
			Socket s=ss.accept();
			//접속한 클라이언트 아이피 출력한다.
			System.out.println("["+s.getInetAddress()+"] 님 접속!");
			OutputStream os=s.getOutputStream();
			PrintWriter pw=new PrintWriter(os,true);
			pw.println("방가방가~"+count++);
			System.out.println("client에 메세지 전송..count->"+count);
			pw.close();
			s.close();
		}
	}	
	public static void main(String[] args) {
		TestServer ts=new TestServer();
		try {
			ts.go();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}



